\doxysection{x\+Task\+Notify\+Give }
\hypertarget{group__x_task_notify_give}{}\label{group__x_task_notify_give}\index{xTaskNotifyGive@{xTaskNotifyGive}}
task. h 
\begin{DoxyPre}BaseType\_t xTaskNotifyGive( TaskHandle\_t xTaskToNotify );\end{DoxyPre}


config\+USE\+\_\+\+TASK\+\_\+\+NOTIFICATIONS must be undefined or defined as 1 for this macro to be available.

When config\+USE\+\_\+\+TASK\+\_\+\+NOTIFICATIONS is set to one each task has its own private "{}notification value"{}, which is a 32-\/bit unsigned integer (uint32\+\_\+t).

Events can be sent to a task using an intermediary object. Examples of such objects are queues, semaphores, mutexes and event groups. Task notifications are a method of sending an event directly to a task without the need for such an intermediary object.

A notification sent to a task can optionally perform an action, such as update, overwrite or increment the task\textquotesingle{}s notification value. In that way task notifications can be used to send data to a task, or be used as light weight and fast binary or counting semaphores.

x\+Task\+Notify\+Give() is a helper macro intended for use when task notifications are used as light weight and faster binary or counting semaphore equivalents. Actual Free\+RTOS semaphores are given using the x\+Semaphore\+Give() API function, the equivalent action that instead uses a task notification is x\+Task\+Notify\+Give().

When task notifications are being used as a binary or counting semaphore equivalent then the task being notified should wait for the notification using the ul\+Task\+Notification\+Take() API function rather than the x\+Task\+Notify\+Wait() API function.

See \href{http://www.FreeRTOS.org/RTOS-task-notifications.html}{\texttt{http\+://www.\+Free\+RTOS.\+org/\+RTOS-\/task-\/notifications.\+html}} for more details.


\begin{DoxyParams}{Parameters}
{\em x\+Task\+To\+Notify} & The handle of the task being notified. The handle to a task can be returned from the x\+Task\+Create() API function used to create the task, and the handle of the currently running task can be obtained by calling x\+Task\+Get\+Current\+Task\+Handle().\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
x\+Task\+Notify\+Give() is a macro that calls x\+Task\+Notify() with the e\+Action parameter set to e\+Increment -\/ so pd\+PASS is always returned. 
\end{DoxyReturn}
